Conservation of battery life in GPS accessing portable devices

ABSTRACT

A method of controlling a device that includes a receiver and a movement sensor includes (a) deactivating the receiver; (b) while the receiver is deactivated, analyzing measurements from the movement sensor to determine a measure of the distance the device has moved from a first location; and (c) in the event that it is determined from the measurements from the movement sensor that the device has moved from the first location by more than a threshold distance, activating the receiver and using the receiver to obtain a second measurement of the location of the device.

CROSS-REFERENCE TO PRIOR APPLICATIONS

This application is the U.S. National Phase application under 35 U.S.C.§ 371 of International Application Serial No. PCT/IB2012/057448, filedon Dec. 19, 2012, which claims the benefit of U.S. Application Ser. No.61/577,737, filed on Dec. 20, 2011. These applications are herebyincorporated by reference herein.

TECHNICAL FIELD OF THE INVENTION

The invention relates to portable or mobile devices that include areceiver, such as a satellite positioning system receiver, themeasurements from which are used to provide a measurement of thelocation of the device.

BACKGROUND TO THE INVENTION

Currently, satellite positioning systems, such as GPS, are one of themost accurate location data sources available to portable or mobileelectronic devices. However, there are a number of drawbacks associatedwith satellite positioning systems. For example, it might not bepossible to receive signals from the satellites when the device isindoors, under heavy foliage or in an ‘urban canyon’ (i.e. between anumber of tall buildings), making it impossible to obtain a locationmeasurement (sometimes referred to as a ‘fix’). Satellite positioningsystems can also be prone to errors in the location measurement whichcan be due to a number of different reasons, including ‘multipathing’where the signals from a satellite can reflect off of buildings beforereaching the satellite positioning system receiver. These errors cancause the reported location to be some distance from the actuallocation, sometimes even as far as several city blocks. Another drawbackwith satellite positioning systems is that the receiver consumes arelatively large amount of power while making a location measurement.

Although the satellite positioning system receiver can be manuallyactivated and deactivated by a user of the device to help reduce thepower consumption, when some event occurs where it is useful to know theexact location of the device (for example if the user of the device isplacing an emergency call and needs to provide their exact location, orthe user of the device suffers a fall or other accident and the deviceis configured to automatically request assistance for the user),activating the satellite positioning system receiver and attempting ameasurement is not without risk, as it might not be possible to get ameasurement in the current location of the device.

Therefore, in such situations, it can be useful to make use of the lastknown location of the device obtained using the satellite positioningsystem receiver before the satellite signal was lost. To do this, thesatellite positioning system receiver must either collect locationmeasurements continuously (in which the receiver will quickly drain thebattery of the device), or a ‘breadcrumbing’ technique is used, in whichthe satellite positioning system receiver is selectively activated bythe device to intermittently take location measurements. As the receiveris not continuously powered or active, there is some reduction in thepower consumption of the device. If the receiver is unable to determinethe location of the device when it is activated, the last acquiredlocation measurement (breadcrumb') can be used as an estimate of thecurrent location of the device.

One particular breadcrumbing technique is described in US 2006/0119508.This document describes a method and apparatus for conserving power on amobile device through motion awareness, in which measurements by anaccelerometer and the GPS receiver in the mobile device are used todetermine whether the mobile device is in motion. If it is determinedthat the mobile device is not in motion, the scanning by the GPSreceiver can be halted or reduced to a lower duty cycle to conservepower in the mobile device. When it is subsequently determined from theaccelerometer data that the mobile device is in motion again, the GPSreceiver resumes scanning and measures the current location of themobile device.

Although this breadcrumbing technique can reduce the power consumptionof the device compared to continuous operation of the satellitepositioning system receiver, it is desirable to improve the existingbreadcrumbing techniques to further reduce the power consumption of aportable or mobile device.

SUMMARY OF THE INVENTION

According to a first aspect of the invention, there is provided a methodof controlling a device that comprises a receiver and a movement sensor,the method comprising (a) deactivating the receiver; (b) while thereceiver is deactivated, analyzing measurements from the movement sensorto determine a measure of the distance the device has moved from a firstlocation; and (c) in the event that it is determined from themeasurements from the movement sensor that the device has moved from thefirst location by more than a threshold distance, activating thereceiver and using the receiver to obtain a second measurement of thelocation of the device.

In one embodiment, step (b) comprises analyzing the measurements fromthe movement sensor to determine the total acceleration experienced bythe device, and step (c) comprises comparing the total acceleration to athreshold and determining that the device has moved from the firstlocation by more than a threshold distance on expiry of a predeterminedtime period after determining that the total acceleration exceeds thethreshold.

In an alternative embodiment, step (b) comprises analyzing themeasurements from the movement sensor to determine the totalacceleration experienced by the device, and step (c) comprises comparingthe total acceleration to a threshold and determining that the devicehas moved from the first location by more than a threshold distance ifthe total acceleration exceeds the threshold for predetermined period oftime.

In an alternative, more preferred, embodiment, step (b) comprisesanalyzing the measurements from the movement sensor to determine thetotal acceleration experienced by the device at a particular samplinginstant and accumulating the determined total acceleration at theparticular sampling instant with the total acceleration determined foreach preceding sampling instant following the sampling instant at whichthe first location was determined, and step (c) comprises comparing theaccumulated total acceleration to a threshold and determining that thedevice has moved from the first location by more than a thresholddistance if the accumulated total acceleration exceeds the threshold.

In the above embodiments, the step of analyzing the measurements fromthe movement sensor to determine the total acceleration experienced bythe device preferably comprises determining the power of theacceleration.

In alternative preferred embodiments, step (b) comprises analyzing themeasurements from the movement sensor using dead-reckoning techniques todetermine the distance moved by the device, and step (c) comprisescomparing the determined distance to a threshold.

In some of those embodiments, the step of analyzing the measurementsfrom the movement sensor using dead-reckoning techniques to determinethe distance moved by the device comprises analyzing the measurementsfrom the movement sensor using step detection algorithms to detectfootsteps by a user of the device.

In those dead-reckoning techniques, step (b) preferably comprises usingmeasurements from a plurality of movement sensors to determine thedistance moved by the device.

Preferably, the step of analyzing the measurements from the movementsensor comprises using Kalman filter techniques.

Preferably, the movement sensor is an accelerometer that measures theacceleration experienced by the device.

Preferably, the receiver is a satellite positioning system receiver.

In some embodiments, the first location corresponds to the lastmeasurement of the location of the device prior to deactivating thereceiver in step (a).

Preferably, after obtaining a second measurement of the location of thedevice in step (c), the method comprises (d) repeating steps (a), (b)and (c) using the second measurement of the location of the device asthe first location.

In some embodiments, step (c) further comprises using the receiver toobtain a measurement of the speed or velocity of the device, andadapting the threshold distance based on the measurement of the speed orvelocity of the device.

According to a second aspect of the invention, there is provided acomputer program product comprising computer-readable code embodiedtherein, the code being configured such that, on execution by a suitablecomputer or processor, the computer or processor performs the method asdescribed above.

According to a third aspect of the invention, there is provided adevice, comprising a receiver for obtaining measurements of the locationof the device; a movement sensor for measuring the movements of thedevice; and a processor that is configured to receive measurements fromthe movement sensor, selectively activate and deactivate the receiver,analyze the measurements from the movement sensor while the receiver isdeactivated to determine a measure of the distance the device has movedfrom a first location, and in the event that it is determined from themeasurements from the movement sensor that the device has moved from thefirst location by more than a threshold distance, activate the receiversuch that the receiver obtains a second measurement of the location ofthe device.

In one embodiment, the processor is configured to analyze themeasurements from the movement sensor to determine the totalacceleration experienced by the device, compare the total accelerationto a threshold and determine that the device has moved from the firstlocation by more than a threshold distance on expiry of a predeterminedtime period after determining that the total acceleration exceeds thethreshold.

In an alternative embodiment, the processor is configured to analyze themeasurements from the movement sensor to determine the totalacceleration experienced by the device, compare the total accelerationto a threshold and determine that the device has moved from the firstlocation by more than a threshold distance if the total accelerationexceeds the threshold for predetermined period of time.

In an alternative, more preferred, embodiment, the processor isconfigured to analyze the measurements from the movement sensor bydetermining the total acceleration experienced by the device at aparticular sampling instant and accumulating the determined totalacceleration at the particular sampling instant with the totalacceleration determined for each preceding sampling instant followingthe sampling instant at which the first location was determined; tocompare the accumulated total acceleration to a threshold, and todetermine that the device has moved from the first location by more thana threshold distance if the accumulated total acceleration exceeds thethreshold.

In the above embodiments, the processor is configured to analyze themeasurements from the movement sensor to determine the power of theacceleration experienced by the device.

In alternative preferred embodiments, the processor is configured toanalyze the measurements from the movement sensor using dead-reckoningtechniques to determine the distance moved by the device, and to comparethe determined distance to a threshold.

In some of those embodiments, the processor is configured to analyze themeasurements from the movement sensor using step detection algorithms todetect footsteps by a user of the device.

In some embodiments, the device comprises a plurality of movementsensors, and the processor is configured to analyze measurements fromthe plurality of movement sensors to determine the distance moved by thedevice.

Preferably, the processor is configured to analyze the measurements fromthe movement sensor using Kalman filter techniques.

Preferably, the movement sensor is an accelerometer that measures theacceleration experienced by the device.

Preferably, the receiver is a satellite positioning system receiver.

In some embodiments, the first location corresponds to the lastmeasurement of the location of the device prior to the deactivation ofthe receiver by the processor.

Preferably, the processor is configured such that, after obtaining asecond measurement of the location of the device using the receiver, theprocessor deactivates the receiver and analyzes the measurements fromthe movement sensor while the receiver is deactivated to determine ameasure of the distance the device has moved from the location given bythe second measurement, and in the event that it is determined from themeasurements from the movement sensor that the device has moved from thelocation given by the second measurement by more than a thresholddistance, the processor is configured to activate the receiver such thatthe receiver obtains a further measurement of the location of thedevice.

In some embodiments, the receiver is further configured to obtain ameasurement of the speed or velocity of the device, and the processor isconfigured to adapt the threshold distance based on the measurement ofthe speed or velocity of the device.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described, by way of exampleonly, with reference to the following drawings, in which:

FIG. 1 is a block diagram of a device according to an embodiment of theinvention; and

FIG. 2 is a flow chart illustrating a method of operating the device ofFIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Although the invention will be described below with reference to asatellite positioning system (e.g. GPS), it will be appreciated thatportable or mobile electronic devices can also or alternatively make alocation measurement using signals other than those received from a setof satellites, and the breadcrumbing technique according to theinvention is applicable to other types of positioning system, such asthose that analyze received Wi-Fi network signals and/or analyze CellIDs of cells in a mobile communication network near to the device.

As described above, the invention relates to a breadcrumbing techniquein which a positioning system receiver in a portable or mobile device(such as a satellite positioning system receiver, a Wi-Fi receiverand/or a cellular network signal receiver) is selectively activated anddeactivated (i.e. powered and switched off) to intermittently obtainmeasurements of the location of the device. Conventionally, positioningsystem receivers (particularly satellite positioning system receivers)are activated according to a schedule, or as soon as motion of thedevice is detected.

However, according to the invention, measurements from a movementsensor, such as an accelerometer, in a device are collected andprocessed to determine a measure of the distance that the device hasmoved from an initial location while the positioning system receiver isdeactivated. If the device has moved more than some preset distance fromthe initial location, the positioning system receiver can be activatedin order to obtain a measurement of the current location of the device.Otherwise, the positioning system receiver remains deactivated(unpowered).

Therefore, when the analysis of the measurements from the movementsensor suggests that the device is stationary (in which case there islittle need to update the last obtained location measurement), no newmeasurement of the location of the device will be made by thepositioning system receiver. This avoids power being wasted ineffectively duplicating measurements of the current location of thedevice. On the other hand, a new location measurement will be takenwhenever the device has moved at least a minimum distance from thelocation of the last location measurement by the positioning systemreceiver. Through appropriate selection of the minimum distance,frequent and useful measurements of the location of the device can bemade while the device is moving. This means that the device will knowthat its current location is typically less than the minimum distancefrom the last location measurement.

An exemplary device according to an embodiment of the invention is shownin FIG. 1. In this embodiment, the device 2 is a mobile telephone orsmartphone, although it will be appreciated that in other embodimentsthe device 2 can take a different form, such as a personal emergencyresponse system (PERS) device, a user-worn fall detector for monitoringwhether a user has suffered a fall, or a satellite navigation system foruse in a vehicle.

The device 2 comprises a satellite positioning system receiver 4, whichin this embodiment is a GPS module 4 (although it will be appreciatedthat the device 2 can alternatively include receivers for other types ofsatellite positioning systems or receivers for receiving signals (suchas Wi-Fi or cellular signals) from other sources that can be processedto determine the position of the device 2), coupled to an antenna 6 thatreceives the signals from the GPS satellites. The GPS module 4 isconnected to a processor 8 that controls the general operation of thedevice 2.

As the device 2 in this embodiment is a mobile telephone or smartphone,the device 2 further comprises transceiver circuitry 10 and associatedantenna 12 for communicating wirelessly with a mobile communicationnetwork.

The device 2 further comprises a memory module 14 that can store atleast the last measurement of the location of the device 2 obtained bythe GPS module 4 (although preferably a plurality of earliermeasurements of the location of the device 2 are stored to allow thechange in location of the device 2 over time to be determined). Thememory module 14 can also store program code for execution by theprocessor 8 to perform the processing required to control the device 2according to the invention.

The device 2 further comprises a movement sensor 16 that measures themovement of the device 2 and that outputs a corresponding signal to theprocessor 8. The movement sensor 16 is a low-power sensor, in that itconsumes significantly less power during operation than a satellitepositioning system receiver 4. In a preferred embodiment, the movementsensor 16 is an accelerometer, and the accelerometer 16 preferablyoutputs a signal indicating the acceleration acting on the device 2 inthree-dimensions. In this case, the output of the accelerometer 16 ateach sampling instant is provided in the form of a three dimensionalvector, (a_(x), a_(y), a_(z)). The accelerometer 16 can measure theacceleration with a sampling rate of 30 or 50 Hz, although it will beappreciated that other sampling rates can be used.

A method of controlling the device 2 in accordance with an embodiment ofthe invention is shown in FIG. 2.

In step 101, an initial location of the device 2 is determined. Thisinitial location can be stored in the memory module 14, and the initiallocation used as a reference point to which subsequent movement of thedevice 2 is compared. This step can comprise obtaining a measurement ofthe location of the device 2 using the GPS module 4, in which case theexact location of the device 2 will be known. Alternatively, however, ifa GPS location measurement is not available (for example because themodule 4 is unable to receive the required signals from the satellites),the initial location can be set to a null or zero value.

In step 103, the processor 8 controls the GPS module 4 (or otherreceiver used to obtain position measurements) to deactivate or powerdown so that it is no longer collecting or processing measurements fromthe GPS satellites.

Subsequently, in step 105, measurements of the movement of the device 2are collected using the movement sensor 16. In particular, measurementsof the acceleration acting on the device 2 are collected byaccelerometer 16.

In step 107, the measurements of the acceleration acting on the device 2are provided to the processor 8 which processes the measurements todetermine a measure of the distance moved by the device 2 since theinitial location was determined in step 101. This processing isperformed in substantially real-time, meaning that each measurement fromthe accelerometer 16 is processed as soon as it is provided to theprocessor 8, and the distance moved by the device 2 from the initiallocation up to that sampling instant determined.

After the measure of the distance has been determined, it is determinedin step 109 whether the device 2 has moved more than a thresholddistance from the location given by the last location measurement(obtained in step 101). If the device 2 has not moved more than thethreshold distance, the method returns to step 105 and furthermeasurements of the acceleration acting on the device 2 are collectedand analyzed.

If it is determined that the device 2 has moved more than the thresholddistance from the location given by the last location measurement, thenthe processor 8 activates the GPS module 4 (step 111) and the GPS module4 takes a measurement of the current location of the device 2 (step113).

After the measurement of the current location of the device 2 is taken,this measurement is stored as the location of the last locationmeasurement, and the method returns to step 103 in which the GPS module4 is deactivated.

As described further below, determining the measure of the distancemoved by the device 2 and therefore whether the device 2 has moved morethan a threshold distance from the location given by the last locationmeasurement can be performed in a number of different ways.

In a first implementation, the measure of the distance moved by thedevice 2 is determined by computing the total amount of acceleration ofthe device 2 at each sampling instant, comparing the total amount ofacceleration at each sampling instant to a threshold and determiningthat the device 2 has moved a sufficient distance from the locationgiven by the last location measurement when a predetermined period oftime expires after the total amount of acceleration at a particularsampling instant exceeds the threshold. That is to say, if the totalamount of acceleration at a particular sampling instant exceeds thethreshold, then it is assumed that the device 2 has started moving, andwaiting for the predetermined period of time to expire allows the device2 to move a sufficient distance from the location of the last locationmeasurement before activating the GPS module 4 in order to obtain a newlocation measurement. The use of the timeout period also ensures thatthere is a minimum time period (equal to the predetermined period oftime) between consecutive measurements of the location of the device 2by the GPS module 4. An exemplary range of values for the predeterminedperiod of time is 30-60 seconds, although it will be appreciated thatother values can be used.

The total amount of acceleration can be the power of the acceleration,which can be determined by computing the magnitude of the accelerationsignal, with the magnitude given byMagnitude=√(a _(x) ² +a _(y) ² +a _(z) ²)  (1)and then computing the power of the acceleration due to motion of thedevice 2 (as opposed to acceleration due to gravity) from the magnitudeaspower=(Magnitude−g)²  (2)where g indicates the magnitude of acceleration due to gravity. Thepower is then compared to the threshold. It will be appreciated by thoseskilled in the art that various threshold values can be used.

In a second, more preferred, implementation, the power of theacceleration signal is again computed and compared to a threshold, butin this implementation, the power in the acceleration signal must exceedthe threshold for a predetermined period of time before the GPS module 4can be activated to obtain a new location measurement. By requiring theacceleration power to exceed the threshold for a minimum time period,the effects of sudden, but temporary, movements of the device 2 on the‘breadcrumbing’ can be reduced.

In a third, even more preferred, implementation, an accumulator-basedalgorithm is used to determine whether the device 2 has moved asufficient distance from the initial location. In this implementation,the power of the acceleration signal is computed as described above, andthe computed power at a particular sampling instant is summed with thecomputed power for all earlier sampling instants following the samplinginstant at which the last location measurement was obtained by the GPSmodule 4. The sum of the computed powers (the ‘accumulated power’) iscompared to a threshold, and when the accumulated power exceeds thethreshold, it is determined that the device 2 has moved a sufficientdistance from the location of the last location measurement and a newlocation measurement can be obtained by the GPS module 4. Theaccumulated power can then be reset to zero. In this implementation, itis assumed that a certain amount of power will be required for thedevice 2 to move a certain distance (the threshold distance). It will beappreciated by those skilled in the art that various threshold valuescan be used depending on the sampling rate of the accelerometer 16 andthe desired breadcrumbing interval.

In other implementations, it is possible to process the signal from theaccelerometer 16 to estimate the actual distance moved by the device 2since the last location measurement was obtained by the GPS module 4. Inthese implementations, the signal from the accelerometer 16 ispreferably combined with a signal from one or more additionalmovement/motion sensors, such as a magnetometer and/or a gyroscope, tocreate a dead-reckoning system in which information from multiplesensors is fused to provide a short-term location estimate. Thegyroscope can estimate the orientation of the device 2, and thereforethe direction of travel. The magnetometer can indicate the direction ofmagnetic north, and therefor the direction of travel. Kalman filters canbe used in a dead-reckoning system to fuse information from multiplesensors into a short-term location estimate and therefore estimatedistances more accurately. The estimated distance can be compared to athreshold to determine if the device 2 has moved a sufficient distancefrom the location of the last location measurement. The distancethreshold can be a distance selected from the range 10-100 meters,although it will be appreciated that values outside this range can beused.

In the above dead-reckoning systems, the accelerometer signal can beprocessed using step detection algorithms which can detect accelerationsconsistent with the device 2 being carried by a user that is walking.The device 2 can store a predetermined distance value for a step by theuser (for example 0.75 meters) and combine this with the number of stepsdetected in the accelerometer signal to determine the distance that thedevice 2 has moved. Again, this distance can be compared to a distancethreshold, as described above.

Alternatively, or in addition, information can be derived from the lastlocation measurement obtained by the GPS module 4 and this informationused to enhance the accuracy of the measure of the distance moved by thedevice 2 determined from subsequent acceleration measurements. Forexample, the GPS module 4 can determine a speed or velocity measurementwhen it is activated to obtain a new location measurement, and thisspeed or velocity measurement can be used in combination with subsequentacceleration measurements to determine the measure of the distance movedby the device 2. In particular, the speed measurement determined by theGPS module 4 can be used to alter the threshold values used in theembodiments above. For instance, while driving a car, people experiencerelatively little acceleration, but move at high speed. In this case,the GPS speed measurement can suggest that the user is in a vehicle, andthis can be used to reduce the size of the threshold so that lessmeasured acceleration is required in order to trigger a positionmeasurement. In the case where dead-reckoning is used to determine themeasure of the distance moved by the device 2, the GPS speed measurementcan be used to calibrate the model of the Kalman filter and improve itsaccuracy.

There is therefore provided a method of controlling a device to obtainlocation measurements using a receiver, such as a satellite positioningsystem receiver, in which the power consumption of the device is reducedcompared to conventional ‘breadcrumbing’ techniques.

While the invention has been illustrated and described in detail in thedrawings and foregoing description, such illustration and descriptionare to be considered illustrative or exemplary and not restrictive; theinvention is not limited to the disclosed embodiments.

Variations to the disclosed embodiments can be understood and effectedby those skilled in the art in practicing the claimed invention, from astudy of the drawings, the disclosure and the appended claims. In theclaims, the word “comprising” does not exclude other elements or steps,and the indefinite article “a” or “an” does not exclude a plurality. Asingle processor or other unit may fulfill the functions of severalitems recited in the claims. The mere fact that certain measures arerecited in mutually different dependent claims does not indicate that acombination of these measures cannot be used to advantage. A computerprogram may be stored/distributed on a suitable medium, such as anoptical storage medium or a solid-state medium supplied together with oras part of other hardware, but may also be distributed in other forms,such as via the Internet or other wired or wireless telecommunicationsystems. Any reference signs in the claims should not be construed aslimiting the scope.

The invention claimed is:
 1. A method of controlling a device that comprises a satellite positioning system receiver and a movement sensor, the method comprising: (a) deactivating the receiver; (b) while the receiver is deactivated, periodically sampling an accelerometer at a predetermined sampling rate; (c) determining a magnitude of the acceleration at each sampling point, wherein the magnitude M of acceleration is defined by M=(a_(x) ²+a_(y) ²+a_(z) ²)^(1/2), where a_(x), a_(y), and a_(z) is the acceleration along each of three orthogonal directions; (d) determining a power of the acceleration at each sampling point wherein the power P is defined by: P=(M−g)2, where g is acceleration due to gravity; and (e) in response to the power of the acceleration exceeding a preselected threshold, activating the receiver to receive signals from the satellite positioning system indicative of an updated current location of the device.
 2. The method as claimed in claim 1, wherein, after obtaining the satellite positioning system measurement of the location of the device in step (e), the method comprises: (f) repeating steps (a), (b), (c), (d), and (e).
 3. The method as claimed in claim 2, wherein step (e) further comprises: based on a plurality of the satellite positioning system measurements by the receiver, determining a speed or velocity of the device, and adapting the threshold distance based on the determined speed or velocity of the device.
 4. A non-transitory computer-readable medium carrying computer code configured to control a device that comprises a satellite positioning system receiver and a movement sensor, where executing the computer code with a computer or processor causes the computer or processor to: (a) deactivate the receiver; (b) while the receiver is deactivated, periodically sample an accelerometer at a predetermined sampling rate; (c) determine a magnitude of the acceleration at each sampling point, wherein the magnitude M of acceleration is defined by M=(a_(x) ²+a_(y) ²+a_(z) ²)^(1/2), where a_(x), a_(y), and a_(z) is the acceleration along each of three orthogonal directions; (d) determine a power of the acceleration at each sampling point wherein the power P is defined by: P=(M−g)2, where g is acceleration due to gravity; and (e) in response to the power of the acceleration exceeding a preselected threshold, activate the receiver to receive signals from the satellite positioning system indicative of an updated current location of the device.
 5. The non-transitory computer-readable medium as claimed in claim 4, wherein, after obtaining the satellite positioning system measurement of the location of the device in (e), the executing computer code further causes the computer or processor to repeat (a), (b), (c), (d), and (e).
 6. The non-transitory computer-readable medium as claimed in claim 4, wherein the executing computer code further causes the computer or processor to: determine a speed or velocity of the device based on a plurality of the satellite positioning system measurements by the receiver; and adapt the threshold distance based on the determined speed or velocity of the device.
 7. A device comprising: a receiver configured to receive signals from a satellite positioning system indicative of current location of the device; an accelerometer configured to measure acceleration of the device; and a processor configured to: (i) after receiving the signals from the satellite positioning system indicative of the current location, deactivate the receiver, (ii) after deactivating the receiver, periodically sample the accelerometer at each of a plurality of sampling points, (iii) determine a magnitude of the acceleration at each sampling point, wherein the magnitude M of acceleration is defined by M=(a_(x) ²+a_(y) ²+a_(z) ²)^(1/2), where a_(x), a_(y), and a_(z) is the acceleration along each of three orthogonal directions, and (iv) determine a power of the acceleration at each sampling point wherein the power P is defined by: P=(M−g)², where g is acceleration due to gravity, and (v) in response to the power of the acceleration exceeding a threshold, activate the receiver to receive signals from the satellite positioning system indicative of an updated current location of the device.
 8. The device as claimed in claim 7, wherein the processor is configured to deactivate the receiver and repeat (ii)-(v) after obtaining the updated current location of the device in (v).
 9. The device as claimed in claim 8, wherein the processor is configured to calculate a measurement of speed or velocity of the device based on the updated current locations and to adapt the threshold distance based on the speed or velocity of the device. 